package com.starview.star.operators.arith;

import com.starview.platform.data.type.IType;
import com.starview.platform.data.type.StandardTypes;
import com.starview.platform.data.type.TypeUtils;
import com.starview.star.operators.Builtin;
import com.starview.star.operators.Intrinsics;
import com.starview.star.operators.arith.runtime.BigNumUnary.DecimalAbs;
import com.starview.star.operators.arith.runtime.BigNumUnary.DecimalRandom;
import com.starview.star.operators.arith.runtime.BigNumUnary.DecimalSqrt;
import com.starview.star.operators.arith.runtime.BigNumUnary.DecimalUMinus;



public abstract class BigNumUnary
{

  public static void declare(Intrinsics cxt)
  {
    IType decimalType = StandardTypes.rawDecimalType;
    IType type = TypeUtils.functionType(decimalType, decimalType);

    cxt.declareBuiltin(new Builtin("__decimal_abs", type, DecimalAbs.class));
    cxt.declareBuiltin(new Builtin("__decimal_uminus", type, DecimalUMinus.class));
    cxt.declareBuiltin(new Builtin("__decimal_random", type, DecimalRandom.class));
    cxt.declareBuiltin(new Builtin("__decimal_sqrt", type, DecimalSqrt.class));
  }
}
